<!--
 * @Author: icymoon911 icymoon911@163.com
 * @Date: 2024-05-06 11:25:07
 * @LastEditors: icymoon911 icymoon911@163.com
 * @LastEditTime: 2024-07-23 00:18:28
 * @FilePath: \ken147258.topayClient\src\views\other\system\basic-setting\system-configuration.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<!--
 * @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
 * @Date: 2024-05-06 11:23:18
 * @LastEditors: icymoon911 icymoon911@163.com
 * @LastEditTime: 2024-07-04 17:44:14
 * @FilePath: \ken147258.topayClient\src\views\other\system\basic-setting.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
  <div class="app-container">
    <el-card>
      <template #header>
        <div font-size-14px>
          <span>其他系统设计</span>
        </div>
      </template>
      <el-tabs
        v-model="tabsObj.active"
        @tab-click="handleTabsClick"
        class="content-container"
      >
        <el-tab-pane
          v-for="(item, index) in tabsObj.list"
          :key="item.key"
          :label="item.label"
          :name="item.key"
        >
          <FormList
            :initForm="item.formList"
            v-model:formRef="item.formDialogId"
            v-model:formModel="item.formDialogModel"
          ></FormList>
        </el-tab-pane>
      </el-tabs>
    </el-card>
  </div>
</template>

<script setup lang="ts">
import { FormInstance } from "element-plus";
import { nextTick } from "vue";
import {
  getsysconfiginfo,
  getmsconfiginfo,
  getdfconfiginfo,
  sysconfigadd,
  sysconfigedit,
  msconfigadd,
  msconfigedit,
  dfconfigadd,
  dfconfigedit,
} from "@/api/other/behavior";
import { updateBasicConfig } from "@/api/other/system";
import { useSettingsStore, useAppStore } from "@/store";

const appStore = useAppStore();

const isHasOptions = [
  {
    // 标签
    label: "关闭",
    // 值
    value: 2,
  },
  {
    // 标签
    label: "开启",
    // 值
    value: 1,
  },
];
const tabsObj = ref<any>({
  active: "1",
  list: [
    {
      label: "系统",
      key: "1",
      formDialogId: ref<FormInstance>(),
      formDialogModel: ref({}),
      formList: {
        // 表单标签位置
        formAttrs: {
          // 是否内联
          // inline: true,
          labelPosition: "top",
        },
        rowAttrs: {
          // 行内表单数量
          columnsNum: 2,
        },
        // 初始化表单字段
        initKeys: [
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "ds_daily_cut",
            // 表单属性
            formAttrs: {
              label: "代收日切开关，开启后无法进单",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "daily_cut_not_allowed_order",
            // 表单属性
            formAttrs: {
              label: "日切不许码商完成订单",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "cashier_server_ip",
            // 表单属性
            formAttrs: {
              label: "收银台服务器地址",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: [
              {
                label: "服务器1",
                value: 1,
              },
              {
                label: "服务器2",
                value: 2,
              },
              {
                label: "服务器3",
                value: 3,
              },
              {
                label: "服务器4",
                value: 4,
              },
            ],
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "dispatch_method",
            // 表单属性
            formAttrs: {
              label: "系统派单方式",
            },
            // 控制属性
            controlAttrs: {
              value: 1,
            },
            // 选项
            options: [
              {
                label: "顺序轮询",
                value: 1,
              },
              {
                label: "随机权重分配",
                value: 2,
              },
            ],
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "withdrawal_google_code",
            // 表单属性
            formAttrs: {
              label: "商户提现开启google验证码",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "exclusive_transfer",
            // 表单属性
            formAttrs: {
              label: "专属中转【切勿乱动，请咨询客服后再操作】",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "first_back_ip",
            // 表单属性
            formAttrs: {
              label: "第一次回调ip【切勿乱动，请咨询客服后再操作】",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "second_back_ip",
            // 表单属性
            formAttrs: {
              label: "第二次回调ip【切勿乱动，请咨询客服后再操作】",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "third_back_ip",
            // 表单属性
            formAttrs: {
              label: "第三次回调ip【切勿乱动，请咨询客服后再操作】",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "fourth_back_ip",
            // 表单属性
            formAttrs: {
              label: "第四次回调ip【切勿乱动，请咨询客服后再操作】",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "fifth_back_ip",
            // 表单属性
            formAttrs: {
              label: "第五次回调ip【切勿乱动，请咨询客服后再操作】",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "sk_code_url",
            // 表单属性
            formAttrs: {
              label: "收款码图片地址",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "df_code_url",
            // 表单属性
            formAttrs: {
              label: "代付图片地址",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "only_look_first_level",
            // 表单属性
            formAttrs: {
              label: "后台只查看一级码商",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "sk_num_limit",
            // 表单属性
            formAttrs: {
              label: "码商收款码设置收款笔数限制",
            },
            // 控制属性
            controlAttrs: {
              value: 1,
            },
            // 选项
            options: [
              {
                value: 1,
                label: "根据订单数量",
              },
              {
                value: 2,
                label: "根据订单成功数量",
              },
              {
                value: 3,
                label: "根据订单成功数量（严格模式）",
              },
            ],
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "sk_num_limit_time",
            // 表单属性
            formAttrs: {
              label: "码商收款码设置收款笔数限制时间",
            },
            // 控制属性
            controlAttrs: {
              value: 1,
            },
            // 选项
            options: [
              {
                value: 1,
                label: "当天",
              },
              {
                value: 2,
                label: "全部",
              },
            ],
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "open_level",
            // 表单属性
            formAttrs: {
              label: "允许几级码商开户",
            },
            // 控制属性
            controlAttrs: {
              value: 1,
            },
            // 选项
            options: [
              {
                value: 1,
                label: "只允许一级商户开码",
              },
              {
                value: 2,
                label: "无限制级码商开户",
              },
            ],
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "server_ip",
            // 表单属性
            formAttrs: {
              label: "服务器IP",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "allow_surplus_negative",
            // 表单属性
            formAttrs: {
              label:
                "商户余额是否允许负数（此功能请先联系客服，否则数据错乱后果自负！！）",
            },
            // 控制属性
            controlAttrs: {
              value: 1,
            },
            headerAttrs: {
              show: true,
              label: "此功能请先联系客服，否则数据错乱后果自负！！",
            },
            // 选项
            options: [
              {
                value: 1,
                label: "不允许负数",
              },
              {
                value: 2,
                label: "允许负数",
              },
            ],
          },
          {
            // 类型
            type: "buttons",
            // 按钮
            btns: [
              {
                // 文本
                text: "确认保存",
                // 控制属性
                controlAttrs: {
                  // 类型
                  type: "primary",
                  icon: "check",
                },
                // 控制事件
                controlOn: {
                  // 点击
                  click: (e: Event, formRef: FormInstance, data: object) => {
                    formRef.validate((valid) => {
                      if (valid) {
                        handleConfirm(data, sysconfigedit, sysconfigadd);
                      }
                    });
                  },
                },
              },
              // {
              //   // 文本
              //   text: "重置",
              //   // 控制属性
              //   controlAttrs: {
              //     icon: "refresh",
              //   },
              //   // 控制事件
              //   controlOn: {
              //     // 点击
              //     click: resetQuery,
              //   },
              // },
            ],
          },
        ],
      },
    },
    {
      label: "码商",
      key: "2",
      formDialogId: ref<FormInstance>(),
      formDialogModel: ref({}),
      formList: {
        // 表单标签位置
        formAttrs: {
          // 是否内联
          // inline: true,
          labelPosition: "top",
        },
        rowAttrs: {
          // 行内表单数量
          columnsNum: 2,
        },
        // 初始化表单字段
        initKeys: [
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "minimum_taking_order_amount",
            // 表单属性
            formAttrs: {
              label: "码商保底接单金额",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "night_rate_markup",
            // 表单属性
            formAttrs: {
              label: "码商夜间费率加成",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "night_rate_markup_start_time",
            // 表单属性
            formAttrs: {
              label: "码商夜间费率开始",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "night_rate_markup_end_time",
            // 表单属性
            formAttrs: {
              label: "码商夜间费率结束",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "df_night_rate_markup",
            // 表单属性
            formAttrs: {
              label: "码商代付夜间费率加成",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "df_night_rate_markup_start_time",
            // 表单属性
            formAttrs: {
              label: "码商代付夜间费率开始",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "df_night_rate_markup_end_time",
            // 表单属性
            formAttrs: {
              label: "码商代付夜间费率结束",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "df_to_df_money",
            // 表单属性
            formAttrs: {
              label: "码商代付完成到代付余额",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "df_to_multilevel_fr",
            // 表单属性
            formAttrs: {
              label: "码商代付多级分润",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "subordinate_divide_money",
            // 表单属性
            formAttrs: {
              label: "码商给下级划分余额",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "jd_freeze_money",
            // 表单属性
            formAttrs: {
              label: "码商进单冻结余额（正在跑量的时候切勿操作，否则后果自负！！！）",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "create_child",
            // 表单属性
            formAttrs: {
              label: "码商添加下级",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "sel_level",
            // 表单属性
            formAttrs: {
              label: "码商查看层级",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "single_account_login",
            // 表单属性
            formAttrs: {
              label: "码商单一账号登录",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "google_account_login",
            // 表单属性
            formAttrs: {
              label: "码商强制绑定谷歌,强烈建议开启！！！极大避免被盗风险！！！！",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "confirm_collection_ver_amount",
            // 表单属性
            formAttrs: {
              label: "码商确认收款校验余额",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "not_set_rate_not_allowed_trade",
            // 表单属性
            formAttrs: {
              label: "码商未设置费率不让接单",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "show_queue_status",
            // 表单属性
            formAttrs: {
              label: "码商显示排队位置",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "show_verification",
            // 表单属性
            formAttrs: {
              label: "码商后台显示核销",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "open_notice",
            // 表单属性
            formAttrs: {
              label: "码商开启公告提醒",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "freeze_amount_budan",
            // 表单属性
            formAttrs: {
              label: "码商用冻结金额补单",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "not_allowed_3min_qidan",
            // 表单属性
            formAttrs: {
              label: "码商代付接单后3分钟内不许弃单",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "shuadan_daojishi",
            // 表单属性
            formAttrs: {
              label: "码商刷单后禁用时间（秒）",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              // placeholder: "用户名/昵称/手机号",
              // 是否可清空
              clearable: true,
            },
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "daifu_show10",
            // 表单属性
            formAttrs: {
              label: "码商代付显示10条",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          // {
          //   // 类型
          //   type: "select",
          //   // 唯一标识
          //   key: "qqq1",
          //   // 表单属性
          //   formAttrs: {
          //     label: "码商上传收款码是否需要填写安全码",
          //   },
          //   // 控制属性
          //   controlAttrs: {
          //     // value: 0,
          //   },
          //   // 选项
          //   options: isHasOptions,
          // },
          {
            // 类型
            type: "buttons",
            // 按钮
            btns: [
              {
                // 文本
                text: "确认保存",
                // 控制属性
                controlAttrs: {
                  // 类型
                  type: "primary",
                  icon: "check",
                },
                // 控制事件
                controlOn: {
                  // 点击
                  click: (e: Event, formRef: FormInstance, data: object) => {
                    formRef.validate((valid) => {
                      if (valid) {
                        handleConfirm(data, msconfigedit, msconfigadd);
                      }
                    });
                  },
                },
              },
              // {
              //   // 文本
              //   text: "重置",
              //   // 控制属性
              //   controlAttrs: {
              //     icon: "refresh",
              //   },
              //   // 控制事件
              //   controlOn: {
              //     // 点击
              //     click: resetQuery,
              //   },
              // },
            ],
          },
        ],
      },
    },
    {
      label: "代付",
      key: "3",
      formDialogId: ref<FormInstance>(),
      formDialogModel: ref({}),
      formList: {
        // 表单标签位置
        formAttrs: {
          // 是否内联
          // inline: true,
          labelPosition: "top",
        },
        rowAttrs: {
          // 行内表单数量
          columnsNum: 2,
        },
        // 初始化表单字段
        initKeys: [
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "open_daily_cut",
            // 表单属性
            formAttrs: {
              label: "代付日切开关，开启后无法进单",
            },
            // 控制属性
            controlAttrs: {
              // value: 1,
            },
            // 选项
            options: isHasOptions,
          },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "open_df",
            // 表单属性
            formAttrs: {
              label: "开启代付",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          // {
          //   // 类型
          //   type: "select",
          //   // 唯一标识
          //   key: "qqq1",
          //   // 表单属性
          //   formAttrs: {
          //     label: "后台任何状态都可以完成代付开关",
          //   },
          //   // 控制属性
          //   controlAttrs: {
          //     // value: 0,
          //   },
          //   // 选项
          //   options: isHasOptions,
          // },
          {
            // 类型
            type: "select",
            // 唯一标识
            key: "open_audit",
            // 表单属性
            formAttrs: {
              label: "审核代付开关",
            },
            // 控制属性
            controlAttrs: {
              // value: 0,
            },
            // 选项
            options: isHasOptions,
          },
          // {
          //   // 类型
          //   type: "select",
          //   // 唯一标识
          //   key: "qqq1",
          //   // 表单属性
          //   formAttrs: {
          //     label: "只审核指定码商代付开关(要先开审核代付开关哦！)",
          //   },
          //   // 控制属性
          //   controlAttrs: {
          //     // value: 0,
          //   },
          //   // 选项
          //   options: isHasOptions,
          // },
          {
            // 类型
            type: "buttons",
            // 按钮
            btns: [
              {
                // 文本
                text: "确认保存",
                // 控制属性
                controlAttrs: {
                  // 类型
                  type: "primary",
                  icon: "check",
                },
                // 控制事件
                controlOn: {
                  // 点击
                  click: (e: Event, formRef: FormInstance, data: object) => {
                    formRef.validate((valid) => {
                      if (valid) {
                        handleConfirm(data, dfconfigedit, dfconfigadd);
                      }
                    });
                  },
                },
              },
              // {
              //   // 文本
              //   text: "重置",
              //   // 控制属性
              //   controlAttrs: {
              //     icon: "refresh",
              //   },
              //   // 控制事件
              //   controlOn: {
              //     // 点击
              //     click: resetQuery,
              //   },
              // },
            ],
          },
        ],
      },
    },
    {
      label: "系统名称",
      key: "4",
      formDialogId: ref<FormInstance>(),
      formDialogModel: ref({}),
      formList: {
        // 表单标签位置
        formAttrs: {
          // 是否内联
          // inline: true,
          labelPosition: "top",
        },
        rowAttrs: {
          // 行内表单数量
          columnsNum: 2,
        },
        // 初始化表单字段
        initKeys: [
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "value",
            // 表单属性
            formAttrs: {
              label: "平台名称",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              placeholder: "请输入平台名称",
              // 是否可清空
              clearable: true,
            },
            value: "",
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "buttons",
            // 按钮
            btns: [
              {
                // 文本
                text: "确认保存",
                // 控制属性
                controlAttrs: {
                  // 类型
                  type: "primary",
                  icon: "check",
                },
                // 控制事件
                controlOn: {
                  // 点击
                  click: (e: Event, formRef: FormInstance, data: object) => {
                    formRef.validate((valid) => {
                      if (valid) {
                        handleSystemNameConfirm(data);
                      }
                    });
                  },
                },
              },
              // {
              //   // 文本
              //   text: "重置",
              //   // 控制属性
              //   controlAttrs: {
              //     icon: "refresh",
              //   },
              //   // 控制事件
              //   controlOn: {
              //     // 点击
              //     click: resetQuery,
              //   },
              // },
            ],
          },
        ],
      },
    },
    {
      label: "码商App信息",
      key: "5",
      formDialogId: ref<FormInstance>(),
      formDialogModel: ref({}),
      formList: {
        // 表单标签位置
        formAttrs: {
          // 是否内联
          // inline: true,
          labelPosition: "top",
        },
        rowAttrs: {
          // 行内表单数量
          columnsNum: 2,
        },
        // 初始化表单字段
        initKeys: [
          {
            // 类型
            type: "input",
            // 唯一标识
            key: "value",
            // 表单属性
            formAttrs: {
              label: "App版本",
            },
            // 控制属性
            controlAttrs: {
              // 提示文本
              placeholder: "请输入App版本",
              // 是否可清空
              clearable: true,
            },
            value: "",
            // 控制事件
            controlOn: {},
          },
          {
            // 类型
            type: "buttons",
            // 按钮
            btns: [
              {
                // 文本
                text: "确认保存",
                // 控制属性
                controlAttrs: {
                  // 类型
                  type: "primary",
                  icon: "check",
                },
                // 控制事件
                controlOn: {
                  // 点击
                  click: (e: Event, formRef: FormInstance, data: object) => {
                    formRef.validate((valid) => {
                      if (valid) {
                        handleAppInfoConfirm(data);
                      }
                    });
                  },
                },
              },
              // {
              //   // 文本
              //   text: "重置",
              //   // 控制属性
              //   controlAttrs: {
              //     icon: "refresh",
              //   },
              //   // 控制事件
              //   controlOn: {
              //     // 点击
              //     click: resetQuery,
              //   },
              // },
            ],
          },
        ],
      },
    },
  ],
});

function reloadData(res, index) {
  if (res) {
    tabsObj.value.id = res.id;
    const singleItem = tabsObj.value.list[index];
    Object.keys(res).map((key) => {
      const index = singleItem.formList.initKeys.findIndex(
        (item: any) => item.key === key
      );

      if (index !== -1) {
        singleItem.formList.initKeys[index].value = res[key];
      }
    });
  } else {
    tabsObj.value.id = 0;
  }
}

const handleTabsClick = (tab: any) => {
  const active = tab ? tab.props.name + "" : tabsObj.value.active;
  if (active === "1") {
    getsysconfiginfo().then((res) => {
      reloadData(res, ~~active - 1);
    });
  } else if (active === "2") {
    getmsconfiginfo().then((res) => {
      reloadData(res, ~~active - 1);
    });
  } else if (active === "3") {
    getdfconfiginfo().then((res) => {
      reloadData(res, ~~active - 1);
    });
  } else if (active === "4") {
    appStore.getSystemName().then((res) => {
      reloadData(res, ~~active - 1);
    });
  } else if (active === "5") {
    appStore.getSystemName({ key: "app_version" }).then((res) => {
      reloadData(res, ~~active - 1);
    });
  }
};

function handleConfirm(data, editFunc, addFunc) {
  if (tabsObj.value.id) {
    editFunc({ ...data, id: tabsObj.value.id }).then((res) => {
      if (res) {
        ElMessage.success("修改成功");
      }
    });
  } else {
    addFunc(data).then((res) => {
      if (res) {
        ElMessage.success("添加成功");
      }
    });
  }
}

const useSettings = useSettingsStore();
async function handleSystemNameConfirm(data) {
  // 三方平台: platformTitle 商户系统：payerTitle 码商系统：skfTitle
  let arr = ["platformTitle", "payerTitle", "skfTitle"];
  let params = { ...data };

  const resPromises = arr.map(async (key) => {
    params.key = key;

    const res = await updateBasicConfig(params);
    return res;
  });

  // 按次序输出
  for (const p of resPromises) {
    await p;
  }

  useSettings.setSystemName(data.value);

  ElMessage.success("修改成功");
}
async function handleAppInfoConfirm(data) {
  // 三方平台: platformTitle 商户系统：payerTitle 码商系统：skfTitle
  let arr = ["app_version"];
  let params = { ...data };

  const resPromises = arr.map(async (key) => {
    params.key = key;

    const res = await updateBasicConfig(params);
    return res;
  });

  // 按次序输出
  for (const p of resPromises) {
    await p;
  }

  useSettings.setSystemName(data.value);

  ElMessage.success("修改成功");
}

handleTabsClick();
</script>

<style lang="scss" scoped>
.content-container {
}
</style>
